package istar.behaviour;

import istar.IBasicElement;
import istar.IElement;
import istar.ITask;
import istar.IistarBehaviour;
import istar.agent.IstarJadeAgent;
import istar.impl.MeansEndLink;
import istar.impl.Task;
import istar.impl.TaskDecompositionLink;
import istar.onto.IstarOntology;
import jade.content.lang.Codec;
import jade.content.lang.sl.SLCodec;
import jade.content.onto.Ontology;
import jade.core.AID;
import jade.core.Agent;
import jade.core.behaviours.Behaviour;
import jade.core.behaviours.FSMBehaviour;
import jade.core.behaviours.OneShotBehaviour;
import jade.domain.DFService;
import jade.domain.FIPANames;
import jade.domain.FIPAAgentManagement.DFAgentDescription;
import jade.domain.FIPAAgentManagement.ServiceDescription;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;

public class RequestExternalElement implements IBasicElement {

	
	Behaviour requestBehaviour;
	IElement dependum;
	IElement depender;
	//private IstarJadeAgent agent;
	
	
	public RequestExternalElement(IstarJadeAgent _agent, IElement _dependum){
		//agent = _agent;
		this.dependum = _dependum;
		requestBehaviour = new RequestExternalBehaviour(_agent, _dependum);
	}
	
	
	public RequestExternalElement(IstarJadeAgent _agent, IElement _dependum, IElement _depender){
		//agent = _agent;
		this.dependum = _dependum; 
		this.depender = _depender;
		requestBehaviour = new RequestExternalBehaviour(_agent, _dependum, _depender);
	}
	
	public String getExecutionNumber() {
		return dependum.getExecutionNumber();
	}


	@Override
	public Behaviour getBehaviour() {
		return requestBehaviour;
	}

	
	
}
